#ifndef BITMAP_H
#define BITMAP_H

#include <types.h>

typedef struct bitmap_t {
    uint32 *bits;
    uint32 num_bits;
} bitmap;

bitmap *bitmap_new(uint32 num_bits);
void bitmap_set(bitmap *bm, uint32 bit);
uint32 bitmap_get_first_available(bitmap *bm);
uint32 bitmap_get(bitmap *bm, uint32 bit);
void bitmap_clear(bitmap *bm, uint32 bit);

#endif /* end of include guard: BITMAP_H */

